home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 60 / IOPROG_60.ISO / soft / c++ / gsl-1.1.1-setup.exe / {app} / src / statistics / test_nist.c < prev    next >
Encoding:
C/C++ Source or Header  |  2001-08-22  |  26.3 KB  |  505 lines

  1. /* statistics/test_nist.c
  2.  * 
  3.  * Copyright (C) 1996, 1997, 1998, 1999, 2000 Jim Davies, Brian Gough
  4.  * 
  5.  * This program is free software; you can redistribute it and/or modify
  6.  * it under the terms of the GNU General Public License as published by
  7.  * the Free Software Foundation; either version 2 of the License, or (at
  8.  * your option) any later version.
  9.  * 
  10.  * This program is distributed in the hope that it will be useful, but
  11.  * WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.  * General Public License for more details.
  14.  * 
  15.  * You should have received a copy of the GNU General Public License
  16.  * along with this program; if not, write to the Free Software
  17.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  18.  */
  19.  
  20. /* These tests are based on the NIST Statistical Reference Datasets
  21.    See http://www.nist.gov/itl/div898/strd/index.html for more
  22.    information. */
  23.  
  24. #include <config.h>
  25. #include <stdlib.h>
  26. #include <math.h>
  27.  
  28. #include <gsl/gsl_test.h>
  29. #include <gsl/gsl_statistics.h>
  30. #include <gsl/gsl_ieee_utils.h>
  31.  
  32. int
  33. main (void)
  34. {
  35.   size_t i ;
  36.  
  37.   const size_t nlew = 200 ; 
  38.  
  39.   const double lew[200] = { 
  40.     -213, -564,  -35,  -15,  141,  115, -420, -360,  203, -338, -431,  194,
  41.     -220, -513,  154, -125, -559,   92,  -21, -579,  -52,   99, -543, -175,
  42.      162, -457, -346,  204, -300, -474,  164, -107, -572,   -8,   83, -541,
  43.     -224,  180, -420, -374,  201, -236, -531,   83,   27, -564, -112,  131,
  44.     -507, -254,  199, -311, -495,  143,  -46, -579,  -90,  136, -472, -338,
  45.      202, -287, -477,  169, -124, -568,   17,   48, -568, -135,  162, -430,
  46.     -422,  172,  -74, -577,  -13,   92, -534, -243,  194, -355, -465,  156,
  47.      -81, -578,  -64,  139, -449, -384,  193, -198, -538,  110,  -44, -577,
  48.       -6,   66, -552, -164,  161, -460, -344,  205, -281, -504,  134,  -28,
  49.     -576, -118,  156, -437, -381,  200, -220, -540,   83,   11, -568, -160,
  50.      172, -414, -408,  188, -125, -572,  -32,  139, -492, -321,  205, -262,
  51.     -504,  142,  -83, -574,    0,   48, -571, -106,  137, -501, -266,  190,
  52.     -391, -406,  194, -186, -553,   83,  -13, -577,  -49,  103, -515, -280,
  53.      201,  300, -506,  131,  -45, -578,  -80,  138, -462, -361,  201, -211,
  54.     -554,   32,   74, -533, -235,  187, -372, -442,  182, -147, -566,   25,
  55.       68, -535, -244,  194, -351, -463,  174, -125, -570,   15,   72, -550,
  56.     -190,  172, -424, -385,  198, -218, -536,   96 } ;
  57.  
  58.   const size_t nlottery = 218 ;
  59.  
  60.   const double lottery[218] = { 
  61.     162, 671, 933, 414, 788, 730, 817, 33, 536, 875, 670, 236, 473, 167,
  62.     877, 980, 316, 950, 456, 92, 517, 557, 956, 954, 104, 178, 794, 278,
  63.     147, 773, 437, 435, 502, 610, 582, 780, 689, 562, 964, 791, 28, 97,
  64.     848, 281, 858, 538, 660, 972, 671, 613, 867, 448, 738, 966, 139, 636,
  65.     847, 659, 754, 243, 122, 455, 195, 968, 793, 59, 730, 361, 574, 522,
  66.     97, 762, 431, 158, 429, 414, 22, 629, 788, 999, 187, 215, 810, 782,
  67.     47, 34, 108, 986, 25, 644, 829, 630, 315, 567, 919, 331, 207, 412,
  68.     242, 607, 668, 944, 749, 168, 864, 442, 533, 805, 372, 63, 458, 777,
  69.     416, 340, 436, 140, 919, 350, 510, 572, 905, 900, 85, 389, 473, 758,
  70.     444, 169, 625, 692, 140, 897, 672, 288, 312, 860, 724, 226, 884, 508,
  71.     976, 741, 476, 417, 831, 15, 318, 432, 241, 114, 799, 955, 833, 358,
  72.     935, 146, 630, 830, 440, 642, 356, 373, 271, 715, 367, 393, 190, 669,
  73.     8, 861, 108, 795, 269, 590, 326, 866, 64, 523, 862, 840, 219, 382,
  74.     998, 4, 628, 305, 747, 247, 34, 747, 729, 645, 856, 974, 24, 568, 24,
  75.     694, 608, 480, 410, 729, 947, 293, 53, 930, 223, 203, 677, 227, 62,
  76.     455, 387, 318, 562, 242, 428, 968 } ;
  77.  
  78.   const size_t nmavro = 50 ;
  79.  
  80.   const double mavro[50] = { 
  81.     2.00180, 2.00170, 2.00180, 2.00190, 2.00180, 2.00170, 2.00150,
  82.     2.00140, 2.00150, 2.00150, 2.00170, 2.00180, 2.00180, 2.00190,
  83.     2.00190, 2.00210, 2.00200, 2.00160, 2.00140, 2.00130, 2.00130,
  84.     2.00150, 2.00150, 2.00160, 2.00150, 2.00140, 2.00130, 2.00140,
  85.     2.00150, 2.00140, 2.00150, 2.00160, 2.00150, 2.00160, 2.00190,
  86.     2.00200, 2.00200, 2.00210, 2.00220, 2.00230, 2.00240, 2.00250,
  87.     2.00270, 2.00260, 2.00260, 2.00260, 2.00270, 2.00260, 2.00250, 
  88.     2.00240 } ;
  89.  
  90.   const size_t nmichelson = 100 ;
  91.  
  92.   const double michelson [100] = { 
  93.     299.85, 299.74, 299.90, 300.07, 299.93, 299.85, 299.95, 299.98,
  94.     299.98, 299.88, 300.00, 299.98, 299.93, 299.65, 299.76, 299.81,
  95.     300.00, 300.00, 299.96, 299.96, 299.96, 299.94, 299.96, 299.94,
  96.     299.88, 299.80, 299.85, 299.88, 299.90, 299.84, 299.83, 299.79,
  97.     299.81, 299.88, 299.88, 299.83, 299.80, 299.79, 299.76, 299.80,
  98.     299.88, 299.88, 299.88, 299.86, 299.72, 299.72, 299.62, 299.86,
  99.     299.97, 299.95, 299.88, 299.91, 299.85, 299.87, 299.84, 299.84,
  100.     299.85, 299.84, 299.84, 299.84, 299.89, 299.81, 299.81, 299.82,
  101.     299.80, 299.77, 299.76, 299.74, 299.75, 299.76, 299.91, 299.92,
  102.     299.89, 299.86, 299.88, 299.72, 299.84, 299.85, 299.85, 299.78,
  103.     299.89, 299.84, 299.78, 299.81, 299.76, 299.81, 299.79, 299.81,
  104.     299.82, 299.85, 299.87, 299.87, 299.81, 299.74, 299.81, 299.94,
  105.     299.95, 299.80, 299.81, 299.87 } ;
  106.  
  107.   const size_t npidigits = 5000 ;
  108.   const double pidigits [5000] = { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8,
  109.     9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7, 9, 5, 0, 2,
  110.     8, 8, 4, 1, 9, 7, 1, 6, 9, 3, 9, 9, 3, 7, 5, 1, 0, 5, 8, 2, 0, 9,
  111.     7, 4, 9, 4, 4, 5, 9, 2, 3, 0, 7, 8, 1, 6, 4, 0, 6, 2, 8, 6, 2, 0,
  112.     8, 9, 9, 8, 6, 2, 8, 0, 3, 4, 8, 2, 5, 3, 4, 2, 1, 1, 7, 0, 6, 7,
  113.     9, 8, 2, 1, 4, 8, 0, 8, 6, 5, 1, 3, 2, 8, 2, 3, 0, 6, 6, 4, 7, 0,
  114.     9, 3, 8, 4, 4, 6, 0, 9, 5, 5, 0, 5, 8, 2, 2, 3, 1, 7, 2, 5, 3, 5,
  115.     9, 4, 0, 8, 1, 2, 8, 4, 8, 1, 1, 1, 7, 4, 5, 0, 2, 8, 4, 1, 0, 2,
  116.     7, 0, 1, 9, 3, 8, 5, 2, 1, 1, 0, 5, 5, 5, 9, 6, 4, 4, 6, 2, 2, 9,
  117.     4, 8, 9, 5, 4, 9, 3, 0, 3, 8, 1, 9, 6, 4, 4, 2, 8, 8, 1, 0, 9, 7,
  118.     5, 6, 6, 5, 9, 3, 3, 4, 4, 6, 1, 2, 8, 4, 7, 5, 6, 4, 8, 2, 3, 3,
  119.     7, 8, 6, 7, 8, 3, 1, 6, 5, 2, 7, 1, 2, 0, 1, 9, 0, 9, 1, 4, 5, 6,
  120.     4, 8, 5, 6, 6, 9, 2, 3, 4, 6, 0, 3, 4, 8, 6, 1, 0, 4, 5, 4, 3, 2,
  121.     6, 6, 4, 8, 2, 1, 3, 3, 9, 3, 6, 0, 7, 2, 6, 0, 2, 4, 9, 1, 4, 1,
  122.     2, 7, 3, 7, 2, 4, 5, 8, 7, 0, 0, 6, 6, 0, 6, 3, 1, 5, 5, 8, 8, 1,
  123.     7, 4, 8, 8, 1, 5, 2, 0, 9, 2, 0, 9, 6, 2, 8, 2, 9, 2, 5, 4, 0, 9,
  124.     1, 7, 1, 5, 3, 6, 4, 3, 6, 7, 8, 9, 2, 5, 9, 0, 3, 6, 0, 0, 1, 1,
  125.     3, 3, 0, 5, 3, 0, 5, 4, 8, 8, 2, 0, 4, 6, 6, 5, 2, 1, 3, 8, 4, 1,
  126.     4, 6, 9, 5, 1, 9, 4, 1, 5, 1, 1, 6, 0, 9, 4, 3, 3, 0, 5, 7, 2, 7,
  127.     0, 3, 6, 5, 7, 5, 9, 5, 9, 1, 9, 5, 3, 0, 9, 2, 1, 8, 6, 1, 1, 7,
  128.     3, 8, 1, 9, 3, 2, 6, 1, 1, 7, 9, 3, 1, 0, 5, 1, 1, 8, 5, 4, 8, 0,
  129.     7, 4, 4, 6, 2, 3, 7, 9, 9, 6, 2, 7, 4, 9, 5, 6, 7, 3, 5, 1, 8, 8,
  130.     5, 7, 5, 2, 7, 2, 4, 8, 9, 1, 2, 2, 7, 9, 3, 8, 1, 8, 3, 0, 1, 1,
  131.     9, 4, 9, 1, 2, 9, 8, 3, 3, 6, 7, 3, 3, 6, 2, 4, 4, 0, 6, 5, 6, 6,
  132.     4, 3, 0, 8, 6, 0, 2, 1, 3, 9, 4, 9, 4, 6, 3, 9, 5, 2, 2, 4, 7, 3,
  133.     7, 1, 9, 0, 7, 0, 2, 1, 7, 9, 8, 6, 0, 9, 4, 3, 7, 0, 2, 7, 7, 0,
  134.     5, 3, 9, 2, 1, 7, 1, 7, 6, 2, 9, 3, 1, 7, 6, 7, 5, 2, 3, 8, 4, 6,
  135.     7, 4, 8, 1, 8, 4, 6, 7, 6, 6, 9, 4, 0, 5, 1, 3, 2, 0, 0, 0, 5, 6,
  136.     8, 1, 2, 7, 1, 4, 5, 2, 6, 3, 5, 6, 0, 8, 2, 7, 7, 8, 5, 7, 7, 1,
  137.     3, 4, 2, 7, 5, 7, 7, 8, 9, 6, 0, 9, 1, 7, 3, 6, 3, 7, 1, 7, 8, 7,
  138.     2, 1, 4, 6, 8, 4, 4, 0, 9, 0, 1, 2, 2, 4, 9, 5, 3, 4, 3, 0, 1, 4,
  139.     6, 5, 4, 9, 5, 8, 5, 3, 7, 1, 0, 5, 0, 7, 9, 2, 2, 7, 9, 6, 8, 9,
  140.     2, 5, 8, 9, 2, 3, 5, 4, 2, 0, 1, 9, 9, 5, 6, 1, 1, 2, 1, 2, 9, 0,
  141.     2, 1, 9, 6, 0, 8, 6, 4, 0, 3, 4, 4, 1, 8, 1, 5, 9, 8, 1, 3, 6, 2,
  142.     9, 7, 7, 4, 7, 7, 1, 3, 0, 9, 9, 6, 0, 5, 1, 8, 7, 0, 7, 2, 1, 1,
  143.     3, 4, 9, 9, 9, 9, 9, 9, 8, 3, 7, 2, 9, 7, 8, 0, 4, 9, 9, 5, 1, 0,
  144.     5, 9, 7, 3, 1, 7, 3, 2, 8, 1, 6, 0, 9, 6, 3, 1, 8, 5, 9, 5, 0, 2,
  145.     4, 4, 5, 9, 4, 5, 5, 3, 4, 6, 9, 0, 8, 3, 0, 2, 6, 4, 2, 5, 2, 2,
  146.     3, 0, 8, 2, 5, 3, 3, 4, 4, 6, 8, 5, 0, 3, 5, 2, 6, 1, 9, 3, 1, 1,
  147.     8, 8, 1, 7, 1, 0, 1, 0, 0, 0, 3, 1, 3, 7, 8, 3, 8, 7, 5, 2, 8, 8,
  148.     6, 5, 8, 7, 5, 3, 3, 2, 0, 8, 3, 8, 1, 4, 2, 0, 6, 1, 7, 1, 7, 7,
  149.     6, 6, 9, 1, 4, 7, 3, 0, 3, 5, 9, 8, 2, 5, 3, 4, 9, 0, 4, 2, 8, 7,
  150.     5, 5, 4, 6, 8, 7, 3, 1, 1, 5, 9, 5, 6, 2, 8, 6, 3, 8, 8, 2, 3, 5,
  151.     3, 7, 8, 7, 5, 9, 3, 7, 5, 1, 9, 5, 7, 7, 8, 1, 8, 5, 7, 7, 3, 0,
  152.     5, 3, 2, 1, 7, 1, 2, 2, 6, 8, 0, 6, 6, 1, 3, 0, 0, 1, 9, 2, 7, 8,
  153.     7, 6, 6, 1, 1, 1, 9, 5, 9, 0, 9, 2, 1, 6, 4, 2, 0, 1, 9, 8, 9, 3,
  154.     8, 0, 9, 5, 2, 5, 7, 2, 0, 1, 0, 6, 5, 4, 8, 5, 8, 6, 3, 2, 7, 8,
  155.     8, 6, 5, 9, 3, 6, 1, 5, 3, 3, 8, 1, 8, 2, 7, 9, 6, 8, 2, 3, 0, 3,
  156.     0, 1, 9, 5, 2, 0, 3, 5, 3, 0, 1, 8, 5, 2, 9, 6, 8, 9, 9, 5, 7, 7,
  157.     3, 6, 2, 2, 5, 9, 9, 4, 1, 3, 8, 9, 1, 2, 4, 9, 7, 2, 1, 7, 7, 5,
  158.     2, 8, 3, 4, 7, 9, 1, 3, 1, 5, 1, 5, 5, 7, 4, 8, 5, 7, 2, 4, 2, 4,
  159.     5, 4, 1, 5, 0, 6, 9, 5, 9, 5, 0, 8, 2, 9, 5, 3, 3, 1, 1, 6, 8, 6,
  160.     1, 7, 2, 7, 8, 5, 5, 8, 8, 9, 0, 7, 5, 0, 9, 8, 3, 8, 1, 7, 5, 4,
  161.     6, 3, 7, 4, 6, 4, 9, 3, 9, 3, 1, 9, 2, 5, 5, 0, 6, 0, 4, 0, 0, 9,
  162.     2, 7, 7, 0, 1, 6, 7, 1, 1, 3, 9, 0, 0, 9, 8, 4, 8, 8, 2, 4, 0, 1,
  163.     2, 8, 5, 8, 3, 6, 1, 6, 0, 3, 5, 6, 3, 7, 0, 7, 6, 6, 0, 1, 0, 4,
  164.     7, 1, 0, 1, 8, 1, 9, 4, 2, 9, 5, 5, 5, 9, 6, 1, 9, 8, 9, 4, 6, 7,
  165.     6, 7, 8, 3, 7, 4, 4, 9, 4, 4, 8, 2, 5, 5, 3, 7, 9, 7, 7, 4, 7, 2,
  166.     6, 8, 4, 7, 1, 0, 4, 0, 4, 7, 5, 3, 4, 6, 4, 6, 2, 0, 8, 0, 4, 6,
  167.     6, 8, 4, 2, 5, 9, 0, 6, 9, 4, 9, 1, 2, 9, 3, 3, 1, 3, 6, 7, 7, 0,
  168.     2, 8, 9, 8, 9, 1, 5, 2, 1, 0, 4, 7, 5, 2, 1, 6, 2, 0, 5, 6, 9, 6,
  169.     6, 0, 2, 4, 0, 5, 8, 0, 3, 8, 1, 5, 0, 1, 9, 3, 5, 1, 1, 2, 5, 3,
  170.     3, 8, 2, 4, 3, 0, 0, 3, 5, 5, 8, 7, 6, 4, 0, 2, 4, 7, 4, 9, 6, 4,
  171.     7, 3, 2, 6, 3, 9, 1, 4, 1, 9, 9, 2, 7, 2, 6, 0, 4, 2, 6, 9, 9, 2,
  172.     2, 7, 9, 6, 7, 8, 2, 3, 5, 4, 7, 8, 1, 6, 3, 6, 0, 0, 9, 3, 4, 1,
  173.     7, 2, 1, 6, 4, 1, 2, 1, 9, 9, 2, 4, 5, 8, 6, 3, 1, 5, 0, 3, 0, 2,
  174.     8, 6, 1, 8, 2, 9, 7, 4, 5, 5, 5, 7, 0, 6, 7, 4, 9, 8, 3, 8, 5, 0,
  175.     5, 4, 9, 4, 5, 8, 8, 5, 8, 6, 9, 2, 6, 9, 9, 5, 6, 9, 0, 9, 2, 7,
  176.     2, 1, 0, 7, 9, 7, 5, 0, 9, 3, 0, 2, 9, 5, 5, 3, 2, 1, 1, 6, 5, 3,
  177.     4, 4, 9, 8, 7, 2, 0, 2, 7, 5, 5, 9, 6, 0, 2, 3, 6, 4, 8, 0, 6, 6,
  178.     5, 4, 9, 9, 1, 1, 9, 8, 8, 1, 8, 3, 4, 7, 9, 7, 7, 5, 3, 5, 6, 6,
  179.     3, 6, 9, 8, 0, 7, 4, 2, 6, 5, 4, 2, 5, 2, 7, 8, 6, 2, 5, 5, 1, 8,
  180.     1, 8, 4, 1, 7, 5, 7, 4, 6, 7, 2, 8, 9, 0, 9, 7, 7, 7, 7, 2, 7, 9,
  181.     3, 8, 0, 0, 0, 8, 1, 6, 4, 7, 0, 6, 0, 0, 1, 6, 1, 4, 5, 2, 4, 9,
  182.     1, 9, 2, 1, 7, 3, 2, 1, 7, 2, 1, 4, 7, 7, 2, 3, 5, 0, 1, 4, 1, 4,
  183.     4, 1, 9, 7, 3, 5, 6, 8, 5, 4, 8, 1, 6, 1, 3, 6, 1, 1, 5, 7, 3, 5,
  184.     2, 5, 5, 2, 1, 3, 3, 4, 7, 5, 7, 4, 1, 8, 4, 9, 4, 6, 8, 4, 3, 8,
  185.     5, 2, 3, 3, 2, 3, 9, 0, 7, 3, 9, 4, 1, 4, 3, 3, 3, 4, 5, 4, 7, 7,
  186.     6, 2, 4, 1, 6, 8, 6, 2, 5, 1, 8, 9, 8, 3, 5, 6, 9, 4, 8, 5, 5, 6,
  187.     2, 0, 9, 9, 2, 1, 9, 2, 2, 2, 1, 8, 4, 2, 7, 2, 5, 5, 0, 2, 5, 4,
  188.     2, 5, 6, 8, 8, 7, 6, 7, 1, 7, 9, 0, 4, 9, 4, 6, 0, 1, 6, 5, 3, 4,
  189.     6, 6, 8, 0, 4, 9, 8, 8, 6, 2, 7, 2, 3, 2, 7, 9, 1, 7, 8, 6, 0, 8,
  190.     5, 7, 8, 4, 3, 8, 3, 8, 2, 7, 9, 6, 7, 9, 7, 6, 6, 8, 1, 4, 5, 4,
  191.     1, 0, 0, 9, 5, 3, 8, 8, 3, 7, 8, 6, 3, 6, 0, 9, 5, 0, 6, 8, 0, 0,
  192.     6, 4, 2, 2, 5, 1, 2, 5, 2, 0, 5, 1, 1, 7, 3, 9, 2, 9, 8, 4, 8, 9,
  193.     6, 0, 8, 4, 1, 2, 8, 4, 8, 8, 6, 2, 6, 9, 4, 5, 6, 0, 4, 2, 4, 1,
  194.     9, 6, 5, 2, 8, 5, 0, 2, 2, 2, 1, 0, 6, 6, 1, 1, 8, 6, 3, 0, 6, 7,
  195.     4, 4, 2, 7, 8, 6, 2, 2, 0, 3, 9, 1, 9, 4, 9, 4, 5, 0, 4, 7, 1, 2,
  196.     3, 7, 1, 3, 7, 8, 6, 9, 6, 0, 9, 5, 6, 3, 6, 4, 3, 7, 1, 9, 1, 7,
  197.     2, 8, 7, 4, 6, 7, 7, 6, 4, 6, 5, 7, 5, 7, 3, 9, 6, 2, 4, 1, 3, 8,
  198.     9, 0, 8, 6, 5, 8, 3, 2, 6, 4, 5, 9, 9, 5, 8, 1, 3, 3, 9, 0, 4, 7,
  199.     8, 0, 2, 7, 5, 9, 0, 0, 9, 9, 4, 6, 5, 7, 6, 4, 0, 7, 8, 9, 5, 1,
  200.     2, 6, 9, 4, 6, 8, 3, 9, 8, 3, 5, 2, 5, 9, 5, 7, 0, 9, 8, 2, 5, 8,
  201.     2, 2, 6, 2, 0, 5, 2, 2, 4, 8, 9, 4, 0, 7, 7, 2, 6, 7, 1, 9, 4, 7,
  202.     8, 2, 6, 8, 4, 8, 2, 6, 0, 1, 4, 7, 6, 9, 9, 0, 9, 0, 2, 6, 4, 0,
  203.     1, 3, 6, 3, 9, 4, 4, 3, 7, 4, 5, 5, 3, 0, 5, 0, 6, 8, 2, 0, 3, 4,
  204.     9, 6, 2, 5, 2, 4, 5, 1, 7, 4, 9, 3, 9, 9, 6, 5, 1, 4, 3, 1, 4, 2,
  205.     9, 8, 0, 9, 1, 9, 0, 6, 5, 9, 2, 5, 0, 9, 3, 7, 2, 2, 1, 6, 9, 6,
  206.     4, 6, 1, 5, 1, 5, 7, 0, 9, 8, 5, 8, 3, 8, 7, 4, 1, 0, 5, 9, 7, 8,
  207.     8, 5, 9, 5, 9, 7, 7, 2, 9, 7, 5, 4, 9, 8, 9, 3, 0, 1, 6, 1, 7, 5,
  208.     3, 9, 2, 8, 4, 6, 8, 1, 3, 8, 2, 6, 8, 6, 8, 3, 8, 6, 8, 9, 4, 2,
  209.     7, 7, 4, 1, 5, 5, 9, 9, 1, 8, 5, 5, 9, 2, 5, 2, 4, 5, 9, 5, 3, 9,
  210.     5, 9, 4, 3, 1, 0, 4, 9, 9, 7, 2, 5, 2, 4, 6, 8, 0, 8, 4, 5, 9, 8,
  211.     7, 2, 7, 3, 6, 4, 4, 6, 9, 5, 8, 4, 8, 6, 5, 3, 8, 3, 6, 7, 3, 6,
  212.     2, 2, 2, 6, 2, 6, 0, 9, 9, 1, 2, 4, 6, 0, 8, 0, 5, 1, 2, 4, 3, 8,
  213.     8, 4, 3, 9, 0, 4, 5, 1, 2, 4, 4, 1, 3, 6, 5, 4, 9, 7, 6, 2, 7, 8,
  214.     0, 7, 9, 7, 7, 1, 5, 6, 9, 1, 4, 3, 5, 9, 9, 7, 7, 0, 0, 1, 2, 9,
  215.     6, 1, 6, 0, 8, 9, 4, 4, 1, 6, 9, 4, 8, 6, 8, 5, 5, 5, 8, 4, 8, 4,
  216.     0, 6, 3, 5, 3, 4, 2, 2, 0, 7, 2, 2, 2, 5, 8, 2, 8, 4, 8, 8, 6, 4,
  217.     8, 1, 5, 8, 4, 5, 6, 0, 2, 8, 5, 0, 6, 0, 1, 6, 8, 4, 2, 7, 3, 9,
  218.     4, 5, 2, 2, 6, 7, 4, 6, 7, 6, 7, 8, 8, 9, 5, 2, 5, 2, 1, 3, 8, 5,
  219.     2, 2, 5, 4, 9, 9, 5, 4, 6, 6, 6, 7, 2, 7, 8, 2, 3, 9, 8, 6, 4, 5,
  220.     6, 5, 9, 6, 1, 1, 6, 3, 5, 4, 8, 8, 6, 2, 3, 0, 5, 7, 7, 4, 5, 6,
  221.     4, 9, 8, 0, 3, 5, 5, 9, 3, 6, 3, 4, 5, 6, 8, 1, 7, 4, 3, 2, 4, 1,
  222.     1, 2, 5, 1, 5, 0, 7, 6, 0, 6, 9, 4, 7, 9, 4, 5, 1, 0, 9, 6, 5, 9,
  223.     6, 0, 9, 4, 0, 2, 5, 2, 2, 8, 8, 7, 9, 7, 1, 0, 8, 9, 3, 1, 4, 5,
  224.     6, 6, 9, 1, 3, 6, 8, 6, 7, 2, 2, 8, 7, 4, 8, 9, 4, 0, 5, 6, 0, 1,
  225.     0, 1, 5, 0, 3, 3, 0, 8, 6, 1, 7, 9, 2, 8, 6, 8, 0, 9, 2, 0, 8, 7,
  226.     4, 7, 6, 0, 9, 1, 7, 8, 2, 4, 9, 3, 8, 5, 8, 9, 0, 0, 9, 7, 1, 4,
  227.     9, 0, 9, 6, 7, 5, 9, 8, 5, 2, 6, 1, 3, 6, 5, 5, 4, 9, 7, 8, 1, 8,
  228.     9, 3, 1, 2, 9, 7, 8, 4, 8, 2, 1, 6, 8, 2, 9, 9, 8, 9, 4, 8, 7, 2,
  229.     2, 6, 5, 8, 8, 0, 4, 8, 5, 7, 5, 6, 4, 0, 1, 4, 2, 7, 0, 4, 7, 7,
  230.     5, 5, 5, 1, 3, 2, 3, 7, 9, 6, 4, 1, 4, 5, 1, 5, 2, 3, 7, 4, 6, 2,
  231.     3, 4, 3, 6, 4, 5, 4, 2, 8, 5, 8, 4, 4, 4, 7, 9, 5, 2, 6, 5, 8, 6,
  232.     7, 8, 2, 1, 0, 5, 1, 1, 4, 1, 3, 5, 4, 7, 3, 5, 7, 3, 9, 5, 2, 3,
  233.     1, 1, 3, 4, 2, 7, 1, 6, 6, 1, 0, 2, 1, 3, 5, 9, 6, 9, 5, 3, 6, 2,
  234.     3, 1, 4, 4, 2, 9, 5, 2, 4, 8, 4, 9, 3, 7, 1, 8, 7, 1, 1, 0, 1, 4,
  235.     5, 7, 6, 5, 4, 0, 3, 5, 9, 0, 2, 7, 9, 9, 3, 4, 4, 0, 3, 7, 4, 2,
  236.     0, 0, 7, 3, 1, 0, 5, 7, 8, 5, 3, 9, 0, 6, 2, 1, 9, 8, 3, 8, 7, 4,
  237.     4, 7, 8, 0, 8, 4, 7, 8, 4, 8, 9, 6, 8, 3, 3, 2, 1, 4, 4, 5, 7, 1,
  238.     3, 8, 6, 8, 7, 5, 1, 9, 4, 3, 5, 0, 6, 4, 3, 0, 2, 1, 8, 4, 5, 3,
  239.     1, 9, 1, 0, 4, 8, 4, 8, 1, 0, 0, 5, 3, 7, 0, 6, 1, 4, 6, 8, 0, 6,
  240.     7, 4, 9, 1, 9, 2, 7, 8, 1, 9, 1, 1, 9, 7, 9, 3, 9, 9, 5, 2, 0, 6,
  241.     1, 4, 1, 9, 6, 6, 3, 4, 2, 8, 7, 5, 4, 4, 4, 0, 6, 4, 3, 7, 4, 5,
  242.     1, 2, 3, 7, 1, 8, 1, 9, 2, 1, 7, 9, 9, 9, 8, 3, 9, 1, 0, 1, 5, 9,
  243.     1, 9, 5, 6, 1, 8, 1, 4, 6, 7, 5, 1, 4, 2, 6, 9, 1, 2, 3, 9, 7, 4,
  244.     8, 9, 4, 0, 9, 0, 7, 1, 8, 6, 4, 9, 4, 2, 3, 1, 9, 6, 1, 5, 6, 7,
  245.     9, 4, 5, 2, 0, 8, 0, 9, 5, 1, 4, 6, 5, 5, 0, 2, 2, 5, 2, 3, 1, 6,
  246.     0, 3, 8, 8, 1, 9, 3, 0, 1, 4, 2, 0, 9, 3, 7, 6, 2, 1, 3, 7, 8, 5,
  247.     5, 9, 5, 6, 6, 3, 8, 9, 3, 7, 7, 8, 7, 0, 8, 3, 0, 3, 9, 0, 6, 9,
  248.     7, 9, 2, 0, 7, 7, 3, 4, 6, 7, 2, 2, 1, 8, 2, 5, 6, 2, 5, 9, 9, 6,
  249.     6, 1, 5, 0, 1, 4, 2, 1, 5, 0, 3, 0, 6, 8, 0, 3, 8, 4, 4, 7, 7, 3,
  250.     4, 5, 4, 9, 2, 0, 2, 6, 0, 5, 4, 1, 4, 6, 6, 5, 9, 2, 5, 2, 0, 1,
  251.     4, 9, 7, 4, 4, 2, 8, 5, 0, 7, 3, 2, 5, 1, 8, 6, 6, 6, 0, 0, 2, 1,
  252.     3, 2, 4, 3, 4, 0, 8, 8, 1, 9, 0, 7, 1, 0, 4, 8, 6, 3, 3, 1, 7, 3,
  253.     4, 6, 4, 9, 6, 5, 1, 4, 5, 3, 9, 0, 5, 7, 9, 6, 2, 6, 8, 5, 6, 1,
  254.     0, 0, 5, 5, 0, 8, 1, 0, 6, 6, 5, 8, 7, 9, 6, 9, 9, 8, 1, 6, 3, 5,
  255.     7, 4, 7, 3, 6, 3, 8, 4, 0, 5, 2, 5, 7, 1, 4, 5, 9, 1, 0, 2, 8, 9,
  256.     7, 0, 6, 4, 1, 4, 0, 1, 1, 0, 9, 7, 1, 2, 0, 6, 2, 8, 0, 4, 3, 9,
  257.     0, 3, 9, 7, 5, 9, 5, 1, 5, 6, 7, 7, 1, 5, 7, 7, 0, 0, 4, 2, 0, 3,
  258.     3, 7, 8, 6, 9, 9, 3, 6, 0, 0, 7, 2, 3, 0, 5, 5, 8, 7, 6, 3, 1, 7,
  259.     6, 3, 5, 9, 4, 2, 1, 8, 7, 3, 1, 2, 5, 1, 4, 7, 1, 2, 0, 5, 3, 2,
  260.     9, 2, 8, 1, 9, 1, 8, 2, 6, 1, 8, 6, 1, 2, 5, 8, 6, 7, 3, 2, 1, 5,
  261.     7, 9, 1, 9, 8, 4, 1, 4, 8, 4, 8, 8, 2, 9, 1, 6, 4, 4, 7, 0, 6, 0,
  262.     9, 5, 7, 5, 2, 7, 0, 6, 9, 5, 7, 2, 2, 0, 9, 1, 7, 5, 6, 7, 1, 1,
  263.     6, 7, 2, 2, 9, 1, 0, 9, 8, 1, 6, 9, 0, 9, 1, 5, 2, 8, 0, 1, 7, 3,
  264.     5, 0, 6, 7, 1, 2, 7, 4, 8, 5, 8, 3, 2, 2, 2, 8, 7, 1, 8, 3, 5, 2,
  265.     0, 9, 3, 5, 3, 9, 6, 5, 7, 2, 5, 1, 2, 1, 0, 8, 3, 5, 7, 9, 1, 5,
  266.     1, 3, 6, 9, 8, 8, 2, 0, 9, 1, 4, 4, 4, 2, 1, 0, 0, 6, 7, 5, 1, 0,
  267.     3, 3, 4, 6, 7, 1, 1, 0, 3, 1, 4, 1, 2, 6, 7, 1, 1, 1, 3, 6, 9, 9,
  268.     0, 8, 6, 5, 8, 5, 1, 6, 3, 9, 8, 3, 1, 5, 0, 1, 9, 7, 0, 1, 6, 5,
  269.     1, 5, 1, 1, 6, 8, 5, 1, 7, 1, 4, 3, 7, 6, 5, 7, 6, 1, 8, 3, 5, 1,
  270.     5, 5, 6, 5, 0, 8, 8, 4, 9, 0, 9, 9, 8, 9, 8, 5, 9, 9, 8, 2, 3, 8,
  271.     7, 3, 4, 5, 5, 2, 8, 3, 3, 1, 6, 3, 5, 5, 0, 7, 6, 4, 7, 9, 1, 8,
  272.     5, 3, 5, 8, 9, 3, 2, 2, 6, 1, 8, 5, 4, 8, 9, 6, 3, 2, 1, 3, 2, 9,
  273.     3, 3, 0, 8, 9, 8, 5, 7, 0, 6, 4, 2, 0, 4, 6, 7, 5, 2, 5, 9, 0, 7,
  274.     0, 9, 1, 5, 4, 8, 1, 4, 1, 6, 5, 4, 9, 8, 5, 9, 4, 6, 1, 6, 3, 7,
  275.     1, 8, 0, 2, 7, 0, 9, 8, 1, 9, 9, 4, 3, 0, 9, 9, 2, 4, 4, 8, 8, 9,
  276.     5, 7, 5, 7, 1, 2, 8, 2, 8, 9, 0, 5, 9, 2, 3, 2, 3, 3, 2, 6, 0, 9,
  277.     7, 2, 9, 9, 7, 1, 2, 0, 8, 4, 4, 3, 3, 5, 7, 3, 2, 6, 5, 4, 8, 9,
  278.     3, 8, 2, 3, 9, 1, 1, 9, 3, 2, 5, 9, 7, 4, 6, 3, 6, 6, 7, 3, 0, 5,
  279.     8, 3, 6, 0, 4, 1, 4, 2, 8, 1, 3, 8, 8, 3, 0, 3, 2, 0, 3, 8, 2, 4,
  280.     9, 0, 3, 7, 5, 8, 9, 8, 5, 2, 4, 3, 7, 4, 4, 1, 7, 0, 2, 9, 1, 3,
  281.     2, 7, 6, 5, 6, 1, 8, 0, 9, 3, 7, 7, 3, 4, 4, 4, 0, 3, 0, 7, 0, 7,
  282.     4, 6, 9, 2, 1, 1, 2, 0, 1, 9, 1, 3, 0, 2, 0, 3, 3, 0, 3, 8, 0, 1,
  283.     9, 7, 6, 2, 1, 1, 0, 1, 1, 0, 0, 4, 4, 9, 2, 9, 3, 2, 1, 5, 1, 6,
  284.     0, 8, 4, 2, 4, 4, 4, 8, 5, 9, 6, 3, 7, 6, 6, 9, 8, 3, 8, 9, 5, 2,
  285.     2, 8, 6, 8, 4, 7, 8, 3, 1, 2, 3, 5, 5, 2, 6, 5, 8, 2, 1, 3, 1, 4,
  286.     4, 9, 5, 7, 6, 8, 5, 7, 2, 6, 2, 4, 3, 3, 4, 4, 1, 8, 9, 3, 0, 3,
  287.     9, 6, 8, 6, 4, 2, 6, 2, 4, 3, 4, 1, 0, 7, 7, 3, 2, 2, 6, 9, 7, 8,
  288.     0, 2, 8, 0, 7, 3, 1, 8, 9, 1, 5, 4, 4, 1, 1, 0, 1, 0, 4, 4, 6, 8,
  289.     2, 3, 2, 5, 2, 7, 1, 6, 2, 0, 1, 0, 5, 2, 6, 5, 2, 2, 7, 2, 1, 1,
  290.     1, 6, 6, 0, 3, 9, 6, 6, 6, 5, 5, 7, 3, 0, 9, 2, 5, 4, 7, 1, 1, 0,
  291.     5, 5, 7, 8, 5, 3, 7, 6, 3, 4, 6, 6, 8, 2, 0, 6, 5, 3, 1, 0, 9, 8,
  292.     9, 6, 5, 2, 6, 9, 1, 8, 6, 2, 0, 5, 6, 4, 7, 6, 9, 3, 1, 2, 5, 7,
  293.     0, 5, 8, 6, 3, 5, 6, 6, 2, 0, 1, 8, 5, 5, 8, 1, 0, 0, 7, 2, 9, 3,
  294.     6, 0, 6, 5, 9, 8, 7, 6, 4, 8, 6, 1, 1, 7, 9, 1, 0, 4, 5, 3, 3, 4,
  295.     8, 8, 5, 0, 3, 4, 6, 1, 1, 3, 6, 5, 7, 6, 8, 6, 7, 5, 3, 2, 4, 9,
  296.     4, 4, 1, 6, 6, 8, 0, 3, 9, 6, 2, 6, 5, 7, 9, 7, 8, 7, 7, 1, 8, 5,
  297.     5, 6, 0, 8, 4, 5, 5, 2, 9, 6, 5, 4, 1, 2, 6, 6, 5, 4, 0, 8, 5, 3,
  298.     0, 6, 1, 4, 3, 4, 4, 4, 3, 1, 8, 5, 8, 6, 7, 6, 9, 7, 5, 1, 4, 5,
  299.     6, 6, 1, 4, 0, 6, 8, 0, 0, 7, 0, 0, 2, 3, 7, 8, 7, 7, 6, 5, 9, 1,
  300.     3, 4, 4, 0, 1, 7, 1, 2, 7, 4, 9, 4, 7, 0, 4, 2, 0, 5, 6, 2, 2, 3,
  301.     0, 5, 3, 8, 9, 9, 4, 5, 6, 1, 3, 1, 4, 0, 7, 1, 1, 2, 7, 0, 0, 0,
  302.     4, 0, 7, 8, 5, 4, 7, 3, 3, 2, 6, 9, 9, 3, 9, 0, 8, 1, 4, 5, 4, 6,
  303.     6, 4, 6, 4, 5, 8, 8, 0, 7, 9, 7, 2, 7, 0, 8, 2, 6, 6, 8, 3, 0, 6,
  304.     3, 4, 3, 2, 8, 5, 8, 7, 8, 5, 6, 9, 8, 3, 0, 5, 2, 3, 5, 8, 0, 8,
  305.     9, 3, 3, 0, 6, 5, 7, 5, 7, 4, 0, 6, 7, 9, 5, 4, 5, 7, 1, 6, 3, 7,
  306.     7, 5, 2, 5, 4, 2, 0, 2, 1, 1, 4, 9, 5, 5, 7, 6, 1, 5, 8, 1, 4, 0,
  307.     0, 2, 5, 0, 1, 2, 6, 2, 2, 8, 5, 9, 4, 1, 3, 0, 2, 1, 6, 4, 7, 1,
  308.     5, 5, 0, 9, 7, 9, 2, 5, 9, 2, 3, 0, 9, 9, 0, 7, 9, 6, 5, 4, 7, 3,
  309.     7, 6, 1, 2, 5, 5, 1, 7, 6, 5, 6, 7, 5, 1, 3, 5, 7, 5, 1, 7, 8, 2,
  310.     9, 6, 6, 6, 4, 5, 4, 7, 7, 9, 1, 7, 4, 5, 0, 1, 1, 2, 9, 9, 6, 1,
  311.     4, 8, 9, 0, 3, 0, 4, 6, 3, 9, 9, 4, 7, 1, 3, 2, 9, 6, 2, 1, 0, 7,
  312.     3, 4, 0, 4, 3, 7, 5, 1, 8, 9, 5, 7, 3, 5, 9, 6, 1, 4, 5, 8, 9, 0,
  313.     1, 9, 3, 8, 9, 7, 1, 3, 1, 1, 1, 7, 9, 0, 4, 2, 9, 7, 8, 2, 8, 5,
  314.     6, 4, 7, 5, 0, 3, 2, 0, 3, 1, 9, 8, 6, 9, 1, 5, 1, 4, 0, 2, 8, 7,
  315.     0, 8, 0, 8, 5, 9, 9, 0, 4, 8, 0, 1, 0, 9, 4, 1, 2, 1, 4, 7, 2, 2,
  316.     1, 3, 1, 7, 9, 4, 7, 6, 4, 7, 7, 7, 2, 6, 2, 2, 4, 1, 4, 2, 5, 4,
  317.     8, 5, 4, 5, 4, 0, 3, 3, 2, 1, 5, 7, 1, 8, 5, 3, 0, 6, 1, 4, 2, 2,
  318.     8, 8, 1, 3, 7, 5, 8, 5, 0, 4, 3, 0, 6, 3, 3, 2, 1, 7, 5, 1, 8, 2,
  319.     9, 7, 9, 8, 6, 6, 2, 2, 3, 7, 1, 7, 2, 1, 5, 9, 1, 6, 0, 7, 7, 1,
  320.     6, 6, 9, 2, 5, 4, 7, 4, 8, 7, 3, 8, 9, 8, 6, 6, 5, 4, 9, 4, 9, 4,
  321.     5, 0, 1, 1, 4, 6, 5, 4, 0, 6, 2, 8, 4, 3, 3, 6, 6, 3, 9, 3, 7, 9,
  322.     0, 0, 3, 9, 7, 6, 9, 2, 6, 5, 6, 7, 2, 1, 4, 6, 3, 8, 5, 3, 0, 6,
  323.     7, 3, 6, 0, 9, 6, 5, 7, 1, 2, 0, 9, 1, 8, 0, 7, 6, 3, 8, 3, 2, 7,
  324.     1, 6, 6, 4, 1, 6, 2, 7, 4, 8, 8, 8, 8, 0, 0, 7, 8, 6, 9, 2, 5, 6,
  325.     0, 2, 9, 0, 2, 2, 8, 4, 7, 2, 1, 0, 4, 0, 3, 1, 7, 2, 1, 1, 8, 6,
  326.     0, 8, 2, 0, 4, 1, 9, 0, 0, 0, 4, 2, 2, 9, 6, 6, 1, 7, 1, 1, 9, 6,
  327.     3, 7, 7, 9, 2, 1, 3, 3, 7, 5, 7, 5, 1, 1, 4, 9, 5, 9, 5, 0, 1, 5,
  328.     6, 6, 0, 4, 9, 6, 3, 1, 8, 6, 2, 9, 4, 7, 2, 6, 5, 4, 7, 3, 6, 4,
  329.     2, 5, 2, 3, 0, 8, 1, 7, 7, 0, 3, 6, 7, 5, 1, 5, 9, 0, 6, 7, 3, 5,
  330.     0, 2, 3, 5, 0, 7, 2, 8, 3, 5, 4, 0, 5, 6, 7, 0, 4, 0, 3, 8, 6, 7,
  331.     4, 3, 5, 1, 3, 6, 2, 2, 2, 2, 4, 7, 7, 1, 5, 8, 9, 1, 5, 0, 4, 9,
  332.     5, 3, 0, 9, 8, 4, 4, 4, 8, 9, 3, 3, 3, 0, 9, 6, 3, 4, 0, 8, 7, 8,
  333.     0, 7, 6, 9, 3, 2, 5, 9, 9, 3, 9, 7, 8, 0, 5, 4, 1, 9, 3, 4, 1, 4,
  334.     4, 7, 3, 7, 7, 4, 4, 1, 8, 4, 2, 6, 3, 1, 2, 9, 8, 6, 0, 8, 0, 9,
  335.     9, 8, 8, 8, 6, 8, 7, 4, 1, 3, 2, 6, 0, 4, 7, 2 } ;
  336.  
  337.  
  338.   const size_t nacc1 = 3 ;
  339.   const double numacc1[3] = { 10000001, 10000003, 10000002 } ;
  340.  
  341.   const size_t nacc2 = 1001 ;
  342.   double numacc2[1001] ;
  343.  
  344.   const size_t nacc3 = 1001 ;
  345.   double numacc3[1001] ;
  346.  
  347.   const size_t nacc4 = 1001 ;
  348.   double numacc4[1001] ;
  349.  
  350.   numacc2[0] = 1.2 ;
  351.   numacc3[0] = 1000000.2 ; 
  352.   numacc4[0] = 10000000.2 ; 
  353.  
  354.   for (i = 1 ; i < 1000  ; i += 2) 
  355.     {
  356.       numacc2[i] = 1.1 ;
  357.       numacc2[i+1] = 1.3 ;
  358.       numacc3[i] = 1000000.1 ;
  359.       numacc3[i+1] = 1000000.3 ;
  360.       numacc4[i] = 10000000.1 ;
  361.       numacc4[i+1] = 10000000.3 ;
  362.     }
  363.  
  364.   gsl_ieee_env_setup ();
  365.  
  366.   {
  367.     double mean = gsl_stats_mean (lew, 1, nlew);
  368.     double sd = gsl_stats_sd (lew, 1, nlew);
  369.     double lag1 = gsl_stats_lag1_autocorrelation (lew, 1, nlew);
  370.  
  371.     double expected_mean = -177.435000000000;
  372.     double expected_sd = 277.332168044316;
  373.     double expected_lag1 = -0.307304800605679;
  374.  
  375.     gsl_test_rel (mean, expected_mean, 1e-15, "lew gsl_stats_mean") ;
  376.     gsl_test_rel (sd, expected_sd, 1e-15, "lew gsl_stats_sd") ;
  377.     gsl_test_rel (lag1, expected_lag1, 1e-14, "lew autocorrelation") ;
  378.   }
  379.  
  380.  
  381.   {
  382.     double mean = gsl_stats_mean (lottery, 1, nlottery);
  383.     double sd = gsl_stats_sd (lottery, 1, nlottery);
  384.     double lag1 = gsl_stats_lag1_autocorrelation (lottery, 1, nlottery);
  385.  
  386.     double expected_mean = 518.958715596330;
  387.     double expected_sd = 291.699727470969;
  388.     double expected_lag1 = -0.120948622967393;
  389.  
  390.     gsl_test_rel (mean, expected_mean, 1e-15, "lottery gsl_stats_mean") ;
  391.     gsl_test_rel (sd, expected_sd, 1e-15, "lottery gsl_stats_sd") ;
  392.     gsl_test_rel (lag1, expected_lag1, 1e-14, "lottery autocorrelation") ;
  393.   }
  394.  
  395.   {
  396.     double mean = gsl_stats_mean (mavro, 1, nmavro);
  397.     double sd = gsl_stats_sd (mavro, 1, nmavro);
  398.     double lag1 = gsl_stats_lag1_autocorrelation (mavro, 1, nmavro);
  399.  
  400.     double expected_mean = 2.00185600000000;
  401.     double expected_sd = 0.000429123454003053;
  402.     double expected_lag1 = 0.937989183438248;
  403.  
  404.     gsl_test_rel (mean, expected_mean, 1e-15, "mavro gsl_stats_mean") ;
  405.     gsl_test_rel (sd, expected_sd, 1e-13, "mavro gsl_stats_sd") ;
  406.     gsl_test_rel (lag1, expected_lag1, 1e-13, "mavro autocorrelation") ;
  407.   }
  408.  
  409.  
  410.   {
  411.     double mean = gsl_stats_mean (michelson, 1, nmichelson);
  412.     double sd = gsl_stats_sd (michelson, 1, nmichelson);
  413.     double lag1 = gsl_stats_lag1_autocorrelation (michelson, 1, nmichelson);
  414.  
  415.     double expected_mean = 299.852400000000;
  416.     double expected_sd = 0.0790105478190518;
  417.     double expected_lag1 = 0.535199668621283;
  418.  
  419.     gsl_test_rel (mean, expected_mean, 1e-15, "michelson gsl_stats_mean") ;
  420.     gsl_test_rel (sd, expected_sd, 1e-13, "michelson gsl_stats_sd") ;
  421.     gsl_test_rel (lag1, expected_lag1, 1e-13, "michelson autocorrelation") ;
  422.   }
  423.  
  424.   {
  425.     double mean = gsl_stats_mean (pidigits, 1, npidigits);
  426.     double sd = gsl_stats_sd (pidigits, 1, npidigits);
  427.     double lag1 = gsl_stats_lag1_autocorrelation (pidigits, 1, npidigits);
  428.  
  429.     double expected_mean = 4.53480000000000;
  430.     double expected_sd = 2.86733906028871;
  431.     double expected_lag1 = -0.00355099287237972;
  432.  
  433.     gsl_test_rel (mean, expected_mean, 1e-14, "pidigits gsl_stats_mean") ;
  434.     gsl_test_rel (sd, expected_sd, 1e-15, "pidigits gsl_stats_sd") ;
  435.     gsl_test_rel (lag1, expected_lag1, 1e-14, "pidigits autocorrelation") ;
  436.   }
  437.     
  438.   {
  439.     double mean = gsl_stats_mean (numacc1, 1, nacc1);
  440.     double sd = gsl_stats_sd (numacc1, 1, nacc1);
  441.     double lag1 = gsl_stats_lag1_autocorrelation (numacc1, 1, nacc1);
  442.  
  443.     double expected_mean = 10000002;
  444.     double expected_sd = 1;
  445.     double expected_lag1 = -0.5;
  446.  
  447.     gsl_test_rel (mean, expected_mean, 1e-15, "acc1 gsl_stats_mean") ;
  448.     gsl_test_rel (sd, expected_sd, 1e-15, "acc1 gsl_stats_sd") ;
  449.     gsl_test_rel (lag1, expected_lag1, 1e-15, "acc1 autocorrelation") ;
  450.   }
  451.  
  452.   {
  453.     double mean = gsl_stats_mean (numacc2, 1, nacc2);
  454.     double sd = gsl_stats_sd (numacc2, 1, nacc2);
  455.     double lag1 = gsl_stats_lag1_autocorrelation (numacc2, 1, nacc2);
  456.  
  457.     double expected_mean = 1.2;
  458.     double expected_sd = 0.1;
  459.     double expected_lag1 = -0.999;
  460.  
  461.     gsl_test_rel (mean, expected_mean, 1e-15, "acc2 gsl_stats_mean") ;
  462.     gsl_test_rel (sd, expected_sd, 1e-15, "acc2 gsl_stats_sd") ;
  463.     gsl_test_rel (lag1, expected_lag1, 1e-10, "acc2 autocorrelation") ;
  464.   }
  465.  
  466.   {
  467.     double mean = gsl_stats_mean (numacc3, 1, nacc3);
  468.     double sd = gsl_stats_sd (numacc3, 1, nacc3);
  469.     double lag1 = gsl_stats_lag1_autocorrelation (numacc3, 1, nacc3);
  470.  
  471.     double expected_mean = 1000000.2;
  472.     double expected_sd = 0.1;
  473.     double expected_lag1 = -0.999;
  474.  
  475.     gsl_test_rel (mean, expected_mean, 1e-15, "acc3 gsl_stats_mean") ;
  476.     gsl_test_rel (sd, expected_sd, 1e-9, "acc3 gsl_stats_sd") ;
  477.     gsl_test_rel (lag1, expected_lag1, 1e-10, "acc3 autocorrelation") ;
  478.   }
  479.  
  480.  
  481.   {
  482.     double mean = gsl_stats_mean (numacc4, 1, nacc4);
  483.     double sd = gsl_stats_sd (numacc4, 1, nacc4);
  484.     double lag1 = gsl_stats_lag1_autocorrelation (numacc4, 1, nacc4);
  485.  
  486.     double expected_mean = 10000000.2;
  487.     double expected_sd = 0.1;
  488.     double expected_lag1 = -0.999;
  489.  
  490.     gsl_test_rel (mean, expected_mean, 1e-15, "acc4 gsl_stats_mean") ;
  491.     gsl_test_rel (sd, expected_sd, 1e-7, "acc4 gsl_stats_sd") ;
  492.     gsl_test_rel (lag1, expected_lag1, 1e-10, "acc4 autocorrelation") ;
  493.   }
  494.  
  495.  
  496.   exit (gsl_test_summary ());
  497. }
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.